One increasingly popular form of networking may generally be referred to as remote presentation systems, which can use protocols such as Remote Desktop Protocol (remote presentation) and Independent Computing Architecture (ICA) to share a desktop and other applications executing on a server with a remote client. Such computing systems typically transmit the keyboard presses and mouse clicks or selections from the client to the server, relaying the screen updates back in the other direction over a network connection. As such, the user has the experience as if his or her machine is operating entirely locally, when in reality the client device is only sent screenshots of the desktop or applications as they appear on the server side.
Many enterprises that provide virtual machines to their users are purchasing computing capacity from public cloud providers. Cloud providers (also known as public hosters) sell computing capacity in the form of a virtual machine that the end user pays for on a “pay as you go” basis. Similarly, an enterprise can also purchase computing capacity from these cloud providers to extend its computing capacity. The cloud providers may use virtualization hosts to deploy virtual machines and sell virtual machines to the enterprise tenants. The virtualization hosts in the cloud provider's data center may be joined to the cloud provider's domain, whereas the tenant (purchaser of the cloud service's computing capacity) owns the actual virtual machines.
An enterprise tenant typically has many users. The tenant may further subdivide the computing capacity and assign individual virtual machines rented from the cloud to individual users from his enterprise. These users need access to those virtual machines in a similar way that they would access their local computers. For example, a remote desktop protocol may be used to access the virtual machines. At the service provider, the infrastructure ay be set up in such a way that all remote desktop access to the virtual machines is accomplished through the host computer.
Providing remote services through the cloud provider may provide some benefits such as:                1. Access may be provided even if the tenant virtual machine does not have a networking setup.        2. Access may be provided for a multiple operating system (OS) virtual machine workloads such as Windows, Linux, etc.        3. Ability to perform a manual/network OS install on the virtual machine.        4. Network connectivity between the cloud provider's gateway and the guest virtual machines is not needed, thus enabling isolation of the cloud provider's network and the tenant's network (guest virtual machines can further reside in their own isolated networks).        